<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>
  // 功能，参数，返回值，是否改变原数组：否

  // - forEach
  // 功能：遍历数组
  // 参数：
    // 函数，这个函数有三个形参。会被执行数组的length次，每次执行会获取数组的一个数据（从左向右依次获取）
      // a1：表示当前函数本次执行时拿到的数组的数据
      // a2：表示a1数据对应的索引
      // a3：表示原数组
  // 返回值：undefined
  // var arr = [45,63,27,81,94];
  // var result = arr.forEach( function(val, idx, self){
  //   console.log(val, idx, self, self===arr);
  //   return "hello"
  // } );
  // console.log( result );
  // console.log( arr );
  // console.log( arr === result );

  // - map
  // 功能：遍历数组
  // 参数：
    // 函数，这个函数有三个形参。会被执行数组的length次，每次执行会获取数组的一个数据（从左向右依次获取）
      // a1：表示当前函数本次执行时拿到的数组的数据
      // a2：表示a1数据对应的索引
      // a3：表示原数组
  // 返回值：新数组，数组内保存了，作为参数的函数每次执行结束后的返回值
  // var arr = [45,63,27,81,94];
  // var result = arr.map( function(val, idx, self){
  //   console.log(val, idx, self, self===arr);
  //   return val * 1.3;
  // } );
  // console.log( result );
  // console.log( arr );
  // console.log( arr === result );


  // - filter
  // 功能：遍历数组
  // 参数：
    // 函数，这个函数有三个形参。会被执行数组的length次，每次执行会获取数组的一个数据（从左向右依次获取）
      // a1：表示当前函数本次执行时拿到的数组的数据
      // a2：表示a1数据对应的索引
      // a3：表示原数组
  // 返回值：新数组，数组内保存了，作为参数的函数返回值为true时遍历到的数据
  // var arr = [45,62,27,81,94];
  // var result = arr.filter( function(val, idx, self){
  //   console.log(val, idx, self, self===arr);
  //   return val % 2 === 1;
  // } );
  // console.log( result );
  // console.log( arr );
  // console.log( arr === result );


  // - some
  // 功能：遍历数组，并从数组中查询是否存在符合要求的数据，只要查到一个符合要求的数据，返回true，一个都没查到，返回false
  // 参数：
    // 函数，这个函数有三个形参。会被执行数组的length次，每次执行会获取数组的一个数据（从左向右依次获取）
      // a1：表示当前函数本次执行时拿到的数组的数据
      // a2：表示a1数据对应的索引
      // a3：表示原数组
  // 返回值：布尔值。作为参数的函数在多次执行过程中
    // 只要有一次返回true，some的返回值就是true
    // 全部返回false，some的返回值才为false
  // var arr = [45,62,27,81,94];
  // var result = arr.some( function(val, idx, self){
  //   console.log(val, idx, self, self===arr);
  //   return true;
  // } );
  // console.log( result );
  // console.log( arr );
  // console.log( arr === result );
  // 场景：查询是否包含，即可使用some



  // - every
  // 功能：遍历数组，并从数组中查询是否存在符合要求的数据，必须全部都是符合要求的数据，才返回true，只要有一个不符合要求，返回false
  // 参数：
    // 函数，这个函数有三个形参。会被执行数组的length次，每次执行会获取数组的一个数据（从左向右依次获取）
      // a1：表示当前函数本次执行时拿到的数组的数据
      // a2：表示a1数据对应的索引
      // a3：表示原数组
  // 返回值：布尔值。作为参数的函数在多次执行过程中
    // 只要有一次返回false，some的返回值就是false
    // 全部返回true，some的返回值才为true
  // var arr = [45,62,27,81,94];
  // var result = arr.every( function(val, idx, self){
  //   console.log(val, idx, self, self===arr);
  //   return false;
  // } );
  // console.log( result );
  // console.log( arr );
  // console.log( arr === result );
  // 场景：必须全部符合，可以使用every
</script>
</html>